#ifndef ___fat32_subprocesos

#define ___fat32_subprocesos 1

#include "f32_pmsj.c"
#include "f32_trnf.c"
#include "f32_fat.c"
#include "f32_cchc.c"
#include "f32_psig.c"

void fat32_ejecutar_subprocesos(unsigned char);

void fat32_ejecutar_subprocesos (unsigned char mascara) {
  if (mascara & 1) fat32_procesar_transacciones();
  if (mascara & 2) {
    fat32_tiempo_acum_FAT += fat32_tiempo_FAT;
    if (fat32_tiempo_acum_FAT >= fat32_tiempo_min_FAT) {
      fat32_tiempo_acum_FAT -= fat32_tiempo_min_FAT;
      fat32_actualizar_FAT(fat32_tiempo_min_FAT);
    }
  }
  if (mascara & 4) {
    fat32_control_escritura_sectores_pendientes ++;
    if (fat32_control_escritura_sectores_pendientes >= fat32_intervalo_escritura_sectores_pendientes) {
      fat32_control_escritura_sectores_pendientes -= fat32_intervalo_escritura_sectores_pendientes;
      fat32_escribir_sectores_pendientes_cache();
    }
  }
  if (mascara & 8) fat32_procesar_senal();
}

#endif